﻿/*+===================================================================
File:      Tank.h

Summary:   Định nghĩa lớp CGrenade
===================================================================+*/

#ifndef _TANK_H_
#define _TANK_H_

#include "GameObject.h"
#include "ExplosionGroup.h"
#include "Bill.h"
#include "EnemyRun.h"

#define TANK_BLOOD 70

/*C+==================================================================
Class:    CTank

Summary:  Lớp CTank miêu tả đối tượng xe tank trong màn 3.
==================================================================-C*/
class CTank : public CMoveableObject
{
private:
	int m_nStatus;				// Trạng thái của tank.
	int m_nDirection;			// Hướng bắn của tank.
	CBill* m_bill;
	CGun* m_pGun;
	float m_fTimeChange;		// Thời gian chờ để di chuyển.
	float m_fTimeFire;
	float m_fTimeDie;			//Thời gian chết
	bool m_bIsImmortal;
	int m_nStatusAngle;			//Trạng thái góc quay của Gun
	D3DXVECTOR2 m_bulletPos;	//Vị trí của đạn
	int m_nCount;				//Biến đếm số lần bắn
	CTexture* m_pTextureBox;
	bool m_bCanFire;
	vector<D3DXVECTOR2> m_aPosEx; //Mảng vị trí các vụ nổ
	CExplosionGroup* m_pExplosionGroup;
	void UpdateAnimation();
public:
	CTank(CBill* bill, D3DXVECTOR2 pos, int id, int typeID);
	~CTank();


	void Update(float timeFrame);

	void UpdateCollision(vector<CGameObject*> vecGameObjs, float timeFrame);

	//void UpdateBox(float timeFrame);

	void Draw();

	bool Kill();

	void Explode(float timeFrame);
};

#endif
